import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import VueSetupExtend from 'vite-plugin-vue-setup-extend'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
    VueSetupExtend()
  ],
  base: './', // 配置相对地址或绝对地址，此处应为绝对地址，若将 Web 部署到 Nginx 所在的目录为 nginx-1.17.8/html/xxx ，则这个 base 的值就为 /xxx/
  resolve: {
    alias: {
      '@': resolve(__dirname, './src'), // 配置别名，@ 代表 src 目录
      assets: resolve(__dirname, './src/assets'),
    }
  },

  server: {
    port: 3000, // 启动端口
    host: '0.0.0.0', // 监听所有地址
    open: true, // 启动时是否打开浏览器
    cors: true, // 是否允许跨域请求
    proxy: {
      '/api': { // 接口前缀
        target: 'http://localhost:8080', // 目标地址
        changeOrigin: true, // 是否改变源
        secure: false, // 是否启用 https
        ws: false, // 是否启用 websocket
        rewrite: (path) => path.replace(/^\/api/, ''), // 重写路径
      }
    }
  }
})
